package aidn.animation.display 
{
	import aidn.animation.utils.Hide;
	import flash.display.MovieClip;
	
	public class CustomMovieClip extends MovieClip
	{
		// 基本クラス : aidn.animation.display.CustomMovieClip
		
		public function CustomMovieClip() 
		{
			
		}
		
		/**
		 * 最終フレームで自分自身を破棄するかどうか設定します。
		 * @param	flag
		 */
		public function autoKill ( flag :Boolean = true, target :MovieClip = null ) :void
		{
			if ( ! target ) target = this;
			
			if ( flag ) target.addFrameScript(target.totalFrames-1, _kill);
			else		target.addFrameScript(target.totalFrames-1, null);
		}
		
		private function _kill () :void
		{
			var cmc :CustomMovieClip = this;
			
			Hide.start( cmc );
			if (cmc.parent) cmc.parent.removeChild(cmc);
			cmc = null;
		}
		
	}
}